﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IKE.EntryLib;
using IKE.LCAFormat.ILCD.Common;

namespace IKE.LCAFormat.ILCD.Process
{
    public class PublicationAndOwnershipType:AutoSerializeBase
    {
        [Xmlns("common")]
        [DisplayUI(CtrType.DateTimePicker, 1)]
        public DateTime dateOfLastRevision=DateTime.Now;

        [DisplayUI(CtrType.TextInputS,2)]
        [Xmlns("common")]
        public string dataSetVersion;

        [DisplayUI(CtrType.ListGlobalRefType,3)]
        [Xmlns("common")]
        public List<GlobalReferenceType> referenceToPrecedingDataSetVersion = new List<GlobalReferenceType>();

        [AnyURI]
        [DisplayUI(CtrType.TextInputS,4)]
        [Xmlns("common")]
        public string permanentDataSetURI;

        [EnumValues(25)]
        [DisplayUI(CtrType.EnumValueDropDownList25,5)]
        [Xmlns("common")]
        public int workflowAndPublicationStatus;

        [DisplayUI(CtrType.GlobalRefType,6)]
        [Xmlns("common")]
        public GlobalReferenceType referenceToUnchangedRepublication = new GlobalReferenceType();

        [Xmlns("common")]
        [DisplayUI(CtrType.GlobalRefType,7)]
        public GlobalReferenceType referenceToRegistrationAuthority = new GlobalReferenceType();

        [Xmlns("common")]
        [DisplayUI(CtrType.TextInputS, 8)]
        public string registrationNumber;

        [Xmlns("common")]
        [DisplayUI(CtrType.GlobalRefType,9)]
        public GlobalReferenceType referenceToOwnershipOfDataSet = new GlobalReferenceType();

        [DisplayUI(CtrType.CheckBox,10)]
        [Xmlns("common")]
        public bool copyright;

        [DisplayUI(CtrType.ListGlobalRefType,11)]
        [Xmlns("common")]
        public List<GlobalReferenceType> referenceToEntitiesWithExclusiveAccess = new List<GlobalReferenceType>();

        [EnumValues(16)]
        [DisplayUI(CtrType.EnumValueDropDownList16, 12)]
        [Xmlns("common")]
        public int licenseType;

        [FTMultiLang]
        [DisplayUI(CtrType.MultiLang,13)]
        [Xmlns("common")]
        public List<StringMultiLang> accessRestrictions = new List<StringMultiLang>();
    }
}
